package com.xyht.sca_s.student_manage_system.modules.leave.entity.resp;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 请假管理
 * </p>
 *
 * @author XYHT
 * @since 2022-12-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sms_leave")
@ApiModel(value="SmsLeave对象", description="请假管理")
public class SmsLeaveResp implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    @ApiModelProperty(value = "关联账号id")
    private String userId;

    @ApiModelProperty(value = "用户头像")
    private String stuPic;

    @ApiModelProperty(value = "手机号")
    private String stuPhone;

    @ApiModelProperty(value = "学号")
    private String stuNo;

    @ApiModelProperty(value = "姓名")
    private String stuName;

    @ApiModelProperty(value = "离校原因")
    private String leaveReason;

    @ApiModelProperty(value = "离校时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date leaveTime;

    @ApiModelProperty(value = "返校时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date comeTime;

    @ApiModelProperty(value = "总时间")
    private Integer totalTime;

    @ApiModelProperty(value = "请假流程id")
    private String processId;

    @ApiModelProperty(value = "其他证明材料")
    private String otherData;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "审批  0：审批中  1：通过  2：不通过")
    private Integer isAllow;

    @ApiModelProperty(value = "流程结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "离校确认  0：未确认  1：已确认")
    private Integer leaveConfirm;

    private Date leaveConfirmTime;

    @ApiModelProperty(value = "返校确认  0：未确认  1：已确认")
    private Integer comeConfirm;

    private Date comeConfirmTime;

    @ApiModelProperty(value = "外出地点")
    private String outPlace;

    @ApiModelProperty(value = "外出联系人")
    private String outContact;

    @ApiModelProperty(value = "外出联系人电话")
    private String outContactTel;

    @ApiModelProperty(value = "外出联系人关系")
    private String outContactRelation;

    private String allowReason;

    @ApiModelProperty(value = "请假类型  1:病假  2：事假")
    private Integer leaveType;

    @ApiModelProperty(value = "返校扫码位置")
    private String comeConfirmPosition;

    @ApiModelProperty(value = "离校扫码位置")
    private String leaveConfirmPosition;

}
